package mode.Singleton02;

/**
 * 双重检验锁单例模式
 */
public class SingletonTwoCheck {

    // 可见，每次使用数据前都需要对数据进行刷新
    private static volatile SingletonTwoCheck instance;

    private SingletonTwoCheck(){}

    public static SingletonTwoCheck getInstance(){
        if (instance == null){
            synchronized (SingletonTwoCheck.class){
                // 防止对现场下，创建多个对象实例
                if (instance == null){
                    instance = new SingletonTwoCheck();
                }
            }
        }
        return instance;

    }

}
